目標:串接蝦皮訂單、標籤資訊,目前串接蝦皮 OpenAPI 2.0 版本,串接手冊
串接步驟:
前一篇已經建立好串接的帳號,接下來這個步驟是商店(賣場)授權
2.0 版本的商店授權有中文版手冊
大致說明一下商店授權的步驟:
蝦皮提供的授權用的固定 url
https://partner.shopeemobile.com/api/v2/shop/auth_partner
https://partner.test-stable.shopeemobile.com/api/v2/shop/auth_partner (測試區)
將 partner_id、redirect、sign、timestamp,這四個參數用 query 的方式加到固定 URL
參數 | 說明 | 範例 |
---|---|---|
partner_id | 建立 APP 時產生的,測試區跟正式區不能混用 | 012345678 |
redirect | 賣家點完授權後要重新導向的 URL | https://www.google.com/ |
sign | 透過 HMAC-SHA256 生成的加密簽名(下面說明) | dlslioi2989d8a29809ldkjlkl209809fsdfs |
timestamp | 要跟帶到 sign 裡的一致,有效時間 5 分鐘 | 1594897040 |
如何生成 sign
把 partner_id、api path(授權用的固定 url)、timestamp 拼成字串後,partner key 做為加密 Key,用 HMAC-SHA256 進行 hash 編碼
以 php 示範:
$base_string=strval($partnerId.$path.$timestamp); // 要加密的字串 (partner_id、api path、timestamp)
$sign=hash_hmac('sha256',$base_string,$partnerKey,false); // HMAC-SHA256 編碼
以正式區 URL 為例,最後的 url 會長這樣:
https://partner.shopeemobile.com/api/v2/shop/auth_partner?partner_id=012345678&redirect=https://www.google.com/&sign=dlslioi2989d8a29809ldkjlkl209809fsdfs×tamp=1594897040
生成後就可以把這個 Url 提供給賣家授權,賣家授權完後會跳轉到 redirect的網址,並會用 query 的方式把賣家的 code、shop_id 給你
以剛剛 redirect 的 url 是 https://www.google.com/ 為例,授權完後會跳轉到下面網址
https://www.google.com/?code=xxxxxxx&shop_id=xxxxxx
如果有收到 code、shop_id 就是授權成功了喔,然後好像也會收到 email 的樣子
code、shop_id 之後打 API 會需要用到的東西,如果不小心過期或是沒記住到,就重新授權即可
一開始生成 sign 時是用php 的 hash 一直失敗,後來才發現是要用 HMAC-SHA256,改成用 php 內建的 hash_hmac 就成功了~
下一篇再來介紹如何打 API